/**  
* @author renbangjie renbangjie@126.com  
* @date 2016年6月27日 下午9:29:23
* @version V1.0  
*/
package com.ai.controller.system;

import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import com.ai.common.controller.BaseController;
import com.ai.common.exception.AlikAssert;
import com.ai.common.model.Pagination;
import com.ai.common.model.Result;
import com.ai.mmd.system.dto.XxinfoDTO;
import com.ai.service.system.model.XxinfoModel;
import com.ai.service.system.service.IXxinfoService;

/**
 * 船型
 * 
 * @author renbangjie renbangjie@126.com
 * @date 2016年6月27日 下午9:29:23
 */
@RequestMapping("xx")
@Controller("com.ai.controller.system.XxController")
public class XxController extends BaseController {

	/**
	 * 分页列表
	 * 
	 * @date 2016年6月27日 下午9:31:40
	 * @param cxinfoDTO
	 * @return
	 * @throws Exception
	 *             List<CxinfoModel>
	 */
	@ResponseBody
	@RequestMapping("list")
	public Pagination<XxinfoModel> list(@ModelAttribute XxinfoDTO xxinfoDTO)
			throws Exception {
		if (xxinfoDTO.getSort()!=null) {
			xxinfoDTO.setSort(xxinfoDTO.getSort().concat(" " + xxinfoDTO.getOrder()));
		}else {
			xxinfoDTO.setSort("id desc");
		}
		return ixxinfoService.getPagination(xxinfoDTO);
	}
	
	/**
	 * 编辑
	* @date 2016年6月27日 下午9:31:40
	* @param CclxInfoDTO
	* @return
	* @throws Exception
	* List<XxinfoModel>
	 */
	@ResponseBody
	@RequestMapping("neworedit")
	public Result neworedit(@ModelAttribute XxinfoDTO xxinfoDTO,
			@RequestParam(required = true) Integer isflag)
			throws Exception {
		Result rs = new Result(true);
		XxinfoModel xxinfoModel = new XxinfoModel();
		switch (isflag) {
		case 0:
			//新增
			AlikAssert.isNotNull(xxinfoDTO.getXxmc(), "参数异常.");
			xxinfoDTO.setCjsj(new Date());			
			BeanUtils.copyProperties(xxinfoDTO, xxinfoModel);
			ixxinfoService.insert(xxinfoModel);
			break;
		case 1:
			//编辑
			AlikAssert.isNotNull(xxinfoDTO.getId(), "参数异常.");
			xxinfoDTO.setGxsj(new Date());
			BeanUtils.copyProperties(xxinfoDTO, xxinfoModel);
			ixxinfoService.updateByPrimaryKey(xxinfoModel);
			break;
		case 2:
			//删除
			AlikAssert.isNotNull(xxinfoDTO.getId(), "参数异常.");
			xxinfoDTO.setSfsc(1);
			xxinfoDTO.setGxsj(new Date());
			BeanUtils.copyProperties(xxinfoDTO, xxinfoModel);
			ixxinfoService.updateByPrimaryKey(xxinfoModel);
			break;
		default:
			break;
		}
				
		return rs;
	}
	
	/**
     * 跳转
     * @return
     * @throws Exception
     */
    @RequestMapping("forward")
    public String forward() throws Exception{
        return "system/xx/list";
    }
    
    /**
	 * 列表
	 * 
	 * @date 2016年6月27日 下午9:31:40
	 * @param cxinfoDTO
	 * @return
	 * @throws Exception
	 *             List<CxinfoModel>
	 */
	@ResponseBody
	@RequestMapping("comboxlist")
	public List<XxinfoModel> comboxlist(@ModelAttribute XxinfoDTO xxinfoDTO)
			throws Exception {
		return ixxinfoService.getList(xxinfoDTO);
	}

	@Resource(name = "ixxinfoService")
	private IXxinfoService ixxinfoService;

}
